//
// Created by tacom on 2022/8/25.
//

#ifndef CVCUDAIMPL_NUMPYMATCONVERT_H
#define CVCUDAIMPL_NUMPYMATCONVERT_H

#define DLL_PUBLIC __attribute__ ((visibility ("default")))


#include "opencv2/opencv.hpp"
#include "pybind11/numpy.h"

class DLL_PUBLIC NumPyMatConvert {
public:
    // numpy to mat
    static cv::Mat Ny8UC1ToMat(pybind11::array_t<unsigned char>& input);
    static cv::Mat Ny8UC3ToMat(pybind11::array_t<unsigned char>& input);
    // mat to numpy
    static pybind11::array_t<unsigned char> Mat8UC1ToNumpy(cv::Mat &input);
    static pybind11::array_t<unsigned char> Mat8UC3ToNumpy(cv::Mat &input);
};


#endif //CVCUDAIMPL_NUMPYMATCONVERT_H
